<ui:composition template="/WEB-INF/template/template.xhtml"
                xmlns="http://www.w3.org/1999/xhtml"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:rich="http://richfaces.org/rich"
                xmlns:a4j="http://richfaces.org/a4j"
                xmlns:fn="http://java.sun.com/jsp/jstl/functions"
                xmlns:sgbd="http://java.sun.com/jsf/composite/components">

    <ui:define name="title">Statistiques</ui:define>
    <ui:define name="navigator">
        <sgbd:navigator stat="active" />
    </ui:define>

    <ui:define name="content">
        <h:form>
            <br />
            <rich:panel header="Filtre" 
                        styleClass="filter"
                        id="filterPanel">
                <h:panelGrid columns="2">
                    <h:outputText value="Utilisateur" />
                    <rich:select enableManualInput="true" 
                                 value="#{statistiqueBean.utilisateurSelected}">
                        <f:selectItems value="#{utilisateurBean.allExceptGestionnaire}" />
                    </rich:select>
                    <h:outputText value="Type" />
                    <rich:select enableManualInput="true" 
                                 value="#{statistiqueBean.typeSelected}">
                        <f:selectItem itemValue="Oracle" itemLabel="Oracle" />
                        <f:selectItem itemValue="MySQL" itemLabel="MySQL" />
                    </rich:select>
                    <h:outputText value="Compte" />
                    <rich:select enableManualInput="true" 
                                 value="#{statistiqueBean.compteSelected}">
                        <f:selectItems value="#{compteBean.all}" />
                    </rich:select>
                    <h:outputText value="Serveur" />
                    <rich:select enableManualInput="true" 
                                 value="#{statistiqueBean.serverSelected}">
                        <f:selectItems value="#{statistiqueBean.distinctServer}" />
                    </rich:select>
                    <h:outputText value="Etat de la connexion" />
                    <rich:select enableManualInput="true" 
                                 value="#{statistiqueBean.successSelected}">
                        <f:selectItem itemValue="TRUE" itemLabel="Succès" />
                        <f:selectItem itemValue="FALSE" itemLabel="Erreur" />
                    </rich:select>
                </h:panelGrid>
                <a4j:commandButton value="Filtrer"
                                   render="statistiqueTable textStat" />
                <a4j:commandButton value="Reset"
                                   render="statistiqueTable filterPanel textStat"
                                   action="#{statistiqueBean.reset()}"/>
            </rich:panel>
            <br />
            <h:outputText id="textStat"
                value="#{fn:length(statistiqueBean.allStatistique)} résultat(s) trouvé(s)" />
            <br />
            <br />
            <rich:dataTable value="#{statistiqueBean.allStatistique}"
                            var="stat"
                            styleClass="dataTable"
                            rowClasses="even,odd"
                            id="statistiqueTable">
                <f:facet name="noData">
                    Aucune donnée.
                </f:facet>
                <rich:column>
                    <f:facet name="header">
                        <h:outputText value="Utilisateur" />
                    </f:facet>
                    <h:outputText value="#{stat.utilisateur.userid}" />
                </rich:column>
                <rich:column>
                    <f:facet name="header">
                        <h:outputText value="Compte" />
                    </f:facet>
                    <h:outputText value="#{stat.compte.name}" />
                </rich:column>
                <rich:column>
                    <f:facet name="header">
                        <h:outputText value="Serveur" />
                    </f:facet>
                    <h:outputText value="#{stat.compte.server}" />
                </rich:column>
                <rich:column>
                    <f:facet name="header">
                        <h:outputText value="Type" />
                    </f:facet>
                    <h:outputText value="#{stat.compte.typeBDDid.typeBDD}" />
                </rich:column>
                <rich:column>
                    <f:facet name="header">
                        <h:outputText value="Date" />
                    </f:facet>
                    <h:outputText value="#{stat.statistiquePK.date}">
                        <f:convertDateTime locale="fr_FR"
                                           pattern="EEE 'le' dd MMM yyy 'à' HH:mm:ss"/>
                    </h:outputText>
                </rich:column>
                <rich:column>
                    <f:facet name="header">
                        <h:outputText value="Succès" />
                    </f:facet>
                    <h:outputText value="#{stat.success}" />
                </rich:column>
            </rich:dataTable>
        </h:form>
    </ui:define>
</ui:composition>
